From 69b160cfe8e9f9307fb746c4ecc3c00d17e0af92 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2021 19:20:00 -0500 Subject: [PATCH] inspector: Details about touchpad events Useful to have for debugging these. --- gtk/inspector/recorder.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gtk/inspector/recorder.c b/gtk/inspector/recorder.c index f626e8690a..09114206e4 100644 --- a/gtk/inspector/recorder.c +++ b/gtk/inspector/recorder.c @@ -1398,6 +1398,19 @@ axis_name (GdkAxisUse axis) return name[axis]; } +static const char * +gesture_phase_name (GdkTouchpadGesturePhase phase) +{ + const char *name[] = { + "Begin", + "Update", + "End", + "Cancel" + }; + + return name[phase]; +} + static void populate_event_properties (GtkListStore *store, GdkEvent *event) @@ -1406,6 +1419,7 @@ populate_event_properties (GtkListStore *store, GdkDevice *device; GdkDeviceTool *tool; double x, y; + double dx, dy; char *tmp; GdkModifierType state; @@ -1508,6 +1522,25 @@ populate_event_properties (GtkListStore *store, add_boolean_row (store, "Implicit", gdk_grab_broken_event_get_implicit (event)); break; + case GDK_TOUCHPAD_SWIPE: + case GDK_TOUCHPAD_PINCH: + add_text_row (store, "Phase", gesture_phase_name (gdk_touchpad_event_get_gesture_phase (event))); + add_int_row (store, "Fingers", gdk_touchpad_event_get_n_fingers (event)); + gdk_touchpad_event_get_deltas (event, &dx, &dy); + tmp = g_strdup_printf ("%.2f %.f2", dx, dy); + add_text_row (store, "Delta", tmp); + g_free (tmp); + if (type == GDK_TOUCHPAD_PINCH) + { + tmp = g_strdup_printf ("%.2f", gdk_touchpad_event_get_pinch_angle_delta (event)); + add_text_row (store, "Angle Delta", tmp); + g_free (tmp); + tmp = g_strdup_printf ("%.2f", gdk_touchpad_event_get_pinch_scale (event)); + add_text_row (store, "Scale", tmp); + g_free (tmp); + } + break; + default: /* FIXME */ ; -- 2.30.2